/**
* @描述: ModelMapper.java
* @作者: guoxia
* @公司 浙江鸿程计算机系统有限公司
* @创建日期: 2023-05-16 03:12:07
*/
package com.hcss.model.dao;

import com.hcss.model.model.Model;
import com.hcss.model.model.ModelExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface ModelMapper {
    /**
     *  根据指定的条件获取数据库记录数
     *
     * @param example
     */
    int countByExample(ModelExample example);

    /**
     *  根据指定的条件删除数据库符合条件的记录
     *
     * @param example
     */
    int deleteByExample(ModelExample example);

    /**
     *  根据主键删除数据库的记录
     *
     * @param id
     */
    int deleteByPrimaryKey(Long id);

    /**
     *  批量写入数据库记录
     *
     * @param list
     */
    int insertBatch(List<Model> list);

    /**
     *  新写入数据库记录
     *
     * @param record
     */
    int insert(Model record);

    /**
     *  动态字段,写入数据库记录
     *
     * @param record
     */
    int insertSelective(Model record);

    /**
     *  根据指定的条件查询符合条件的数据库记录
     *
     * @param example
     */
    List<Model> selectByExample(ModelExample example);

    /**
     *  根据指定主键获取一条数据库记录
     *
     * @param id
     */
    Model selectByPrimaryKey(Long id);

    /**
     *  动态根据指定的条件来更新符合条件的数据库记录
     *
     * @param record
     * @param example
     */
    int updateByExampleSelective(@Param("record") Model record, @Param("example") ModelExample example);

    /**
     *  根据指定的条件来更新符合条件的数据库记录
     *
     * @param record
     * @param example
     */
    int updateByExample(@Param("record") Model record, @Param("example") ModelExample example);

    /**
     *  动态字段,根据主键来更新符合条件的数据库记录
     *
     * @param record
     */
    int updateByPrimaryKeySelective(Model record);

    /**
     *  根据主键来更新符合条件的数据库记录
     *
     * @param record
     */
    int updateByPrimaryKey(Model record);
}